Field of the Invention
Embodiments of the invention are generally related to data processing, and more specifically to document transformations.
Description of the Related Art
XML (Extensible Markup Language) is a widely used standard for creating markup languages which describe the structure of data. Because of XML's ability to function across different systems or applications, XML is growing in popularity as the preferred format for authoring and publishing (e.g. for Web page authoring/publishing).
One benefit offered by XML is its ability to have “single source publishing” using XML stylesheet transformations (XSLT) that separate content from presentation. XSLT is a standard that uses XSL stylesheets to transform XML documents into other XML documents or documents in other formats. For example, different XSLTs may be used on the same XML source document to produce numerous result documents of varying type (e.g. HTML, PDF, etc.) and with varying content.
The ability to transform XML data using XSLTs has become widely accepted. However, the performance of XSLT processors when dealing with non-trivial or large transformations is a concern. Similarly, performance of a document management system may suffer when transforming a large XML source document. Compounding this problem, in current art, a transformation must be completely re-run whenever a change is made to the XML source document. This latter limitation of XML transformations stems from interdependencies which may exist between elements within the XML source data.
For example, consider an XSLT that creates an HTML ordered list by inspecting various markup elements and attribute values in a source XML document. If one of the elements or attributes from the source document is changed, the transformation would have to be re-run against the entire source XML to ensure that the resulting ordered list is correct. That is, if the transformation is ran only against the changed element or attribute, there would be no surrounding context to indicate where the new output should be inserted into the ordered list.
Accordingly, there remains a need in the art to improve the efficiency of XML transformations and XSLT processing. In particular, there remains a need for improved efficiency of XML transformations performed against a source document which has incurred minor or incremental changes.